<?php
/***
 * 图片Service
 *
 *
 * @author    lanhongjie <lanhj@yunys.com.cn>
 * @copyright 2016 QuanZhouYunYiShang Inc.
 */

namespace App\Services\ImgServices;


use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Validator;

class ImgApiService
{
    protected $img_tool;
    /**
     * ImgApiService constructor.
     */
    public function __construct(ImgTool $imgTool)
    {
        $this->img_tool=$imgTool;
    }

    /***
     * 存储图片并返回URL
     * @param $data
     * @return string
     */
    public function saveImgAndReturnUrl($data)
    {
        if(!isset($data['img_file'])||empty($data['img_file'])){
            //图片为空
            return '';
        }
        $img_save=$this->img_tool->imgSave($data['img_file'],2,false);
        if(empty($img_save)){
            return '';
        }
        $img_url=ImgTool::getImgUrlByImgPath($img_save);
        return $img_url;
    }
    /**
     * 数据验证
     * @param Request $request
     * @param $check_data
     * @return mixed
     */
    public function store(Request $request,$check_data)
    {
        $v = Validator::make($request->all(), $check_data);
        return $v;
    }

    /****
     * 获取图片Md5
     * @param $img_md5
     * @return string
     */
    public function getImgUrlByMd5($img_md5)
    {
        $img=$this->img_tool->getImgObjInDBByMd5($img_md5);
        $img_url='';
        if(isset($img->img_in_url)){
            $img_url=ImgTool::getImgUrlByImgPath($img->img_in_url);
        }
        return $img_url;
    }

    /****
     * md5数组字符串获取查询存储在数据库中的图片链接数组
     * @param $img_md5_arr_str
     * @return mixed
     */
    public function getImgUrlByMd5ArrStr($img_md5_arr_str)
    {
        $img_md5_arr=explode(" ",$img_md5_arr_str);
        $data['usable_md5_arr']=array();
        $data['disabled_md5_arr']=array();
        foreach ($img_md5_arr as $img_md5_str){
            $img_md5_str=trim($img_md5_str);
            $img=$this->img_tool->getImgObjInDBByMd5($img_md5_str);
            $img_url='';
            if(isset($img->img_in_url)){
                $img_url=ImgTool::getImgUrlByImgPath($img->img_in_url);
                $str=new Str();
                $str->md5_str=$img_md5_str;
                $str->image_url=$img_url;
                $data['usable_md5_arr'][]=$str;
            }else{
                $data['disabled_md5_arr'][]=$img_md5_str;
            }
        }
        return $data;
    }
}